-- Ricardo 4/8/2022 - Ticket 53096 
-- No permite ingresar comprobantes negativos
--

-- DROP FUNCTION public.tg_insert_update_comm();

CREATE OR REPLACE FUNCTION public.tg_insert_update_comm()
    RETURNS trigger
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
IF (TG_OP = 'INSERT') THEN 
	PERFORM Veri_Uni(NEW.Id, NEW.TipoCom, NEW.IdPad, NEW.Letra, NEW.NroPtoVta, NEW.Nro, NEW.CodAmbSuc, NEW.NombreAmbEqu, NEW.TipoCai, NEW.Fecha, NEW.idcomtal, NEW.afipcbtetipo);
ELSIF (OLD.Nro <> NEW.Nro) or (OLD.NroPtoVta <> NEW.NroPtoVta) or (OLD.Letra <> NEW.Letra) or (OLD.Fecha <> NEW.Fecha) THEN 
	PERFORM Veri_Uni(NEW.Id, NEW.TipoCom, NEW.IdPad, NEW.Letra, NEW.NroPtoVta, NEW.Nro, NEW.CodAmbSuc, NEW.NombreAmbEqu, NEW.TipoCai, NEW.Fecha, NEW.idcomtal, NEW.afipcbtetipo);
END IF;

IF (NEW.TOTAL < 0) THEN
   RAISE EXCEPTION 'El total del comprobante da negativo, esto esta prohibido. Verifique su configuración o el uso que está dando al comprobante.';
END IF;

RETURN NEW;
END;
$BODY$;

ALTER FUNCTION public.tg_insert_update_comm()
    OWNER TO abacouser;


select aaVersion('480.03','480.02');

